package com.dotflat.fin.service;

import com.dotflat.fin.domain.FinPlan;
import com.dotflat.fin.domain.FinPlanOrder;
import com.dotflat.rest.service.AreableObjectBaseService;
import com.matt.commons.dto.sso.StaffDTO;
import com.matt.domain.Clientele;
import com.matt.domain.Contract;

import java.math.BigDecimal;
import java.util.List;

/**
 * 订单信息service
 *
 * @author ：Ron
 * @date ：Created in 2020/10/30 13:06
 */

public interface FinPlanOrderService extends AreableObjectBaseService<FinPlanOrder> {

    FinPlanOrder get(String id);

    FinPlanOrder notifyParent(String areaId, String staffId, String id);

    FinPlanOrder notifyParent(String areaId, FinPlanOrder ret);

    FinPlanOrder cancel(String areaId, String staffId, String id);

    List<FinPlanOrder> findAllByClienteleIds(List<String> clienteleIds, Integer payStatus, Integer audit, Integer archive);

    Contract createContractByPlan(StaffDTO staff, Clientele clientele, FinPlan plan, int index,
                                  BigDecimal totalAmount, String productRecords);
}
